#ifndef SHARD_H
#define SHARD_H

#include <QStringList>
#include <QList>

class Shard : public QObject
{
  Q_OBJECT
public:
  explicit Shard(QObject* parent = 0);
  Shard(const Shard &s);
  Shard& operator=(const Shard &s);

  static QStringList regionStrList();
  static QStringList regionShortStrList();
  static QStringList regionURLStrList();
  static QStringList shardStrList(int reg);
  static QList<int> shardTrionIdList(int reg);

  static Shard getShard(int reg, int shard);

  QString regionName();
  QString regionShortName();
  QString regionURLName();
  QString shardName();

  int regionCode();
  int shardCode();
  int shardTrionId();

  bool operator==(const Shard &s) const;
protected:
  int region_code;
  int shard_code;
  int shard_trion_id;
};

#endif // SHARD_H
